Flash memory devices frequently suffer from a condition called “read disturb.” Read disturb is caused by reading a page of flash cells many times without refreshing the block containing the page. When a page is being read from a block, voltages are applied to word lines of the block that are selected to be read and to word lines that are not selected to be read. These applied voltages cause a programming effect in the word lines to which they apply. When multiple read operations are performed (i.e., thousands or tens of thousands of read operations), some of the cells of the non-selected word lines may accumulate enough disturbances to cause a stored value to change. If the cells are single level cells, then non-programmed cells might become programmed. If the cells are multi-level cells, then programmed cells might shift to a higher state and cause bit errors.
Thus, read disturb may corrupt data values in a block of a flash memory. A flash memory may include data that is frequently read and data that is not frequently read. Even the data that is not frequently read may be subject to read disturb. In addition, code stored in cells that are affected by read disturb may not execute because an error correction mechanism of the system may fail to correct the corrupted data values, resulting in a non-bootable memory or host system.